var qs=require('qs');
var crypto=require('crypto');
var url=require('url');
var TOKEN="ningtowen";
var fs=require('fs');


function getXMLNodeValue(node_name,xml){
    var tmp = xml.split("<"+node_name+">");
    if(tmp.length<2){
    	return "";
    }
    var _tmp = tmp[1].split("</"+node_name+">");
    return _tmp[0];
}

module.exports.getXMLNodeValue=getXMLNodeValue;

module.exports.checkSignature=function(params,token){
	var key=[token,params.timestamp,params.nonce].sort().join('');
	var sha1=crypto.createHash('sha1');
	sha1.update(key);
	return sha1.digest('hex')==params.signature;
}

module.exports.weChartMessage=function(message){
				var ToUserName = getXMLNodeValue('ToUserName',message);
		        var FromUserName = getXMLNodeValue('FromUserName',message);
		        var CreateTime = getXMLNodeValue('CreateTime',message);
		        var MsgType = getXMLNodeValue('MsgType',message);
		        var Content = getXMLNodeValue('Content',message);
		        var MsgId = getXMLNodeValue('MsgId',message);

		        var xml = '<xml><ToUserName>'+FromUserName+
		        '</ToUserName><FromUserName>'+ToUserName+
		        '</FromUserName><CreateTime>'+CreateTime+
		        '</CreateTime><MsgType>'+MsgType+
		        '</MsgType><Content>'+Content+
		        '</Content></xml>';
		        return xml;
}

module.exports.weChartImage=function(message){
				var ToUserName = getXMLNodeValue('ToUserName',message);
		        var FromUserName = getXMLNodeValue('FromUserName',message);
		        var CreateTime = getXMLNodeValue('CreateTime',message);
		        var MsgType = getXMLNodeValue('MsgType',message);
		        var PicUrl = getXMLNodeValue('PicUrl',message);
		        var MsgId = getXMLNodeValue('MsgId',message);
		        var MediaId=getXMLNodeValue('MediaId',message);

		        var xml = '<xml><ToUserName>'+FromUserName+
		        '</ToUserName><FromUserName>'+ToUserName+
		        '</FromUserName><CreateTime>'+CreateTime+
		        '</CreateTime><MsgType>'+MsgType+
		        '</MsgType><Image><MediaId>'+MediaId+
		        '</MediaId></Image></xml>';
		        return xml;
}

module.exports.weChartVoice=function(message){
				var ToUserName = getXMLNodeValue('ToUserName',message);
		        var FromUserName = getXMLNodeValue('FromUserName',message);
		        var CreateTime = getXMLNodeValue('CreateTime',message);
		        var MsgType = getXMLNodeValue('MsgType',message);
		        var MediaId=getXMLNodeValue('MediaId',message);
		        var Format = getXMLNodeValue('Format',message);
		        var MsgId = getXMLNodeValue('MsgId',message);
		        //var Recognition=getXMLNodeValue('Recognition',message);

		        var xml = '<xml><ToUserName>'+FromUserName+
		        '</ToUserName><FromUserName>'+ToUserName+
		        '</FromUserName><CreateTime>'+CreateTime+
		        '</CreateTime><MsgType>'+MsgType+
		        '</MsgType><Voice><MediaId>'+MediaId+
		        '</MediaId></Voice></xml>';
		        return xml;
}

module.exports.weChartShortvideo=function(message){
				var ToUserName = getXMLNodeValue('ToUserName',message);
		        var FromUserName = getXMLNodeValue('FromUserName',message);
		        var CreateTime = getXMLNodeValue('CreateTime',message);
		        var MsgType = getXMLNodeValue('MsgType',message);

		        var MediaId=getXMLNodeValue('MediaId',message);
		        var ThumbMediaId = getXMLNodeValue('ThumbMediaId',message);
		        var MsgId = getXMLNodeValue('MsgId',message);
		        //var Recognition=getXMLNodeValue('Recognition',message);

		        var xml = '<xml><ToUserName>'+FromUserName+
		        '</ToUserName><FromUserName>'+ToUserName+
		        '</FromUserName><CreateTime>'+CreateTime+
		        '</CreateTime><MsgType>'+MsgType+
		        '</MsgType><Shortvideo><MediaId>'+MediaId+
		        '</MediaId><Title>'+'Title'+
		        '</Title><Description>'+'Description'+		        
		        '</Description></Shortvideo></xml>';
		        return xml;
}

module.exports.weChartLocation=function(message){
				var ToUserName = getXMLNodeValue('ToUserName',message);
		        var FromUserName = getXMLNodeValue('FromUserName',message);
		        var CreateTime = getXMLNodeValue('CreateTime',message);
		        var MsgType = getXMLNodeValue('MsgType',message);		        
		        var Location_X=getXMLNodeValue('Location_X',message);
		        var Location_Y = getXMLNodeValue('Location_Y',message);
		        var Scale=getXMLNodeValue('Scale',message);
		        var Label = getXMLNodeValue('Label',message);
		        var MsgId = getXMLNodeValue('MsgId',message);
		        //var Recognition=getXMLNodeValue('Recognition',message);

		        var xml = ''
		        return xml;
}

module.exports.weChartLink=function(message){
				var ToUserName = getXMLNodeValue('ToUserName',message);
		        var FromUserName = getXMLNodeValue('FromUserName',message);
		        var CreateTime = getXMLNodeValue('CreateTime',message);
		        var MsgType = getXMLNodeValue('MsgType',message);

		        var Title=getXMLNodeValue('Title',message);
		        var Description = getXMLNodeValue('Description',message);
		        var Url=getXMLNodeValue('Url',message);
		        var MsgId = getXMLNodeValue('MsgId',message);
		        //var Recognition=getXMLNodeValue('Recognition',message);

		        var xml = ''
		        return xml;
}
